/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controlo;

import dao.CursoDao;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import modelo.AreaCientifica;
import modelo.Curso;

/**
 *
 * @author bruno
 */
@ManagedBean
@SessionScoped
public class CursoControlo implements Serializable {

    /**
     * Creates a new instance of CursoControlo
     */
    List<Curso> cursoLista;
    List<Curso> cursoDependenteLista;
    public CursoControlo() {    
        cursoLista=new CursoDao().lerTodos();
        cursoDependenteLista= new ArrayList<Curso>();
    }
        
    public List<Curso> autoCursos(String inst) {
        List<Curso> modeloLista = new ArrayList<Curso>();

        for (Curso modelo: cursoDependenteLista) {
            if (modelo.getDesignacao().toLowerCase().startsWith(inst.toLowerCase())) {
                modeloLista.add(modelo);
            }
        }

        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(modeloLista.toString()));
        return modeloLista;
    }
     
      public void actualizarCursoComArea(AreaCientifica ac) {
        cursoDependenteLista.clear();
        for (Curso modelo : cursoLista) {
            if (modelo.getAreaCientifica().getId() == ac.getId()) {
                cursoDependenteLista.add(modelo);
            }
        }
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Nova Lista Cursos-" + ac.getId() + "  \n:" + cursoDependenteLista.toString()));
    }
     
}
